1. Technical Field
The present invention relates to a system and method for Internet protocol (IP) address discovery in a rapidly changing network environment. More particularly, the present invention relates to a system and method for using an adaptive discovery polling process to determine an optimum heartbeat interval that minimizes network traffic and allows a server to monitor a client's source address.
2. Description of the Related Art
Short Message Service (SMS) is a popular method for sending messages between mobile devices. A person may use SMS to send a text message to a recipient device simply by entering the recipient device's phone number. The benefit of SMS is that the recipient's destination address (e.g., phone number) does not change. The sending person only needs to know a recipient's phone number in order to send a message to the recipient. A challenge found, however, is that SMS can only send relatively small messages (160 7-bit characters). In addition, if the SMS provider charges on a per message basis, the expense of using SMS may become cost prohibitive when a person wishes to send a large amount of messages.
Many enterprise class devices have access to an IP based data network that mobile network providers have implemented. These networks are capable of transporting application data over popular TCP and UDP network protocols. Unlike the SMS protocol, the IP networks are not restricted by a limited message size, and they also support extended conversations between client and server applications. Enterprise based applications have long used IP based communications as a standard, and may use TCP and UDP protocols to send a message to a mobile device as long as the device is listening on the IP network. A challenge found, however, is that this approach requires the enterprise application to know a mobile device's IP address in order to send a message to the correct recipient.
In addition, a challenge found is that in today's modern mobile IP networks, a mobile device is rarely assigned a permanent (static) IP address. The reason being is that a network provider typically has more registered devices than it has assignable IP addresses. The network provider understands, however, that all of the registered devices are not typically online at the same time. Therefore, the network provider dynamically allocates an IP address to a device when the device connects to network provider's network. As a result, the network provider does not run out of assignable IP addresses. A challenge found, however, is that when an IP address is inactive for a particular amount of time, the network provider de-allocates the IP address in order to re-allocate the IP address to another user.
Furthermore, in many cases, a device may not know its own dynamically assigned public IP address. Rather, the network provider assigns a “private IP” address to the mobile device, and then uses a network address translator (NAT) to convert the device's private address to a public address. Since a device's public IP address is not static, a challenge found is that an enterprise application is not able to send messages to the device when the enterprise application receives the message because the enterprise application may not know the device's current public IP address. Instead, the enterprise application relies upon the device to connect to the enterprise application and poll for messages, which are typically at fixed intervals.
What is needed, therefore, is a system and method for providing client source address information to an enterprise application utilizing minimal network traffic overhead.